1. Field of the Invention
The present invention relates in general to the field of microelectronic device physical layout, and more particularly to a method and system for searching a microelectronic device physical layout to find a physical layout name.
2. Description of the Related Art
Microelectronic devices operate to process signals through a complex arrangement of circuits that are typically fabricated with metal deposited within a semiconductor material such as silicon. Microelectronic devices are typically fabricated in layers with a bottom layer having transistors that perform logical operations and with subsequent alternating metal and via layers. The metal layers have intricate wire line designs that communicate electronic signals. The via layers insulate metal layers from each other and interconnect wire lines between metal layers to support processing of signals between metal layers and into logical circuits. In order to enhance microelectronic device performance, industry has worked to fit greater numbers of transistors and wire lines into microelectronic devices by fabricating devices with smaller dimensions. As a result, microelectronic devices have grown increasingly complex with greater numbers of metal and via layers that have greater numbers of inlaid metal designs of smaller dimensions.
Physical layout tools are typically used to aid in the design of microelectronic devices. Physical layout tools provide computer-aided physical layout designs for metal and via layers of microelectronic devices. Physical layout tools output metal and via layer designs as electronic data that is used to fabricate physical devices to accomplish circuit design goals. For a physical layout, metal and via layers are typically defined and formed by a letter concatenated by a positive integer number. For instance, metal layers are typically identified with the letter xe2x80x9cmxe2x80x9d or xe2x80x9cMxe2x80x9d and via layers are typically identified with the letter xe2x80x9cvxe2x80x9d or xe2x80x9cV.xe2x80x9d Thus, for example, a microelectronic device with nine metal layers and eight via layers will define the metal layers with layout names that use xe2x80x9cm1xe2x80x9d through xe2x80x9cm9xe2x80x9d and will define the via layers with layout names that use xe2x80x9cv1xe2x80x9d through xe2x80x9cv8.xe2x80x9d
During a physical layout design, a physical layout tool searches for particular physical layout names to perform layout design functions. For instance, a series of searches may be used to prepare alternative arrangements of metal and via layers to accomplish design goals. Searches by a physical design tool for particular physical layout names typically use a search function that compares a string representation of a given physical layout name with stored physical layout name string representations to look for an exact match. The search for the given physical layout name may be done through a file, array or linked list of stored physical layout names. For instance, a physical layout tool may read selected stored physical layout names directly from a file to search by comparing the selected physical layout name with the given physical layout name to determine if the physical layout names match. Alternatively, to speed the search process, a physical layout tool may read and search through an array or a linked list.
Regardless of the manner that physical layout data is stored and searched, search functions for string representations of a given physical layout name involve four machine executions. One machine execution stores the searching string selected from the stored data in a register. Another machine execution stores the given string in a separate register. A third machine execution compares the strings stored in the two registers and a fourth machine execution puts the results of the comparison in a third register. The execution time used to obtain a search result depends upon the size of the physical layout file or the size of the array or linked list. Complex physical layouts often are stored as large files or array/linked lists that tend to require longer execution times to obtain search results. Over a design process for a complex microelectronic device, the lengthy execution times for searches often cumulate into substantial design delays.
In accordance with the present invention, a method and system are provided which improve search functions of physical layout tools that search a microprocessor device physical layout definition to find a given physical layout name. A name conversion module associated with a physical layout tool search function converts physical layout name string representations into numerical representations to allow the search function to compare numerical instead of string representations. A comparison of a given physical layout name numerical representation with a numerical representation of a searching physical layout name selected from a file, array or linked list uses a single machine execution compared with the multiple machine executions performed with the comparison of string representations. The reduction in machine operations reduces the execution time for physical layout tools to perform search functions. In one embodiment, string representations of physical layout names are converted to numerical representations by using the layer number of a physical layout name as an index to represent a metal string or via string. For instance, a number in a physical layout name is converted from a string value to an integer value and indexed with a metal array or via array. Alternatively, layer names that do not include a number are arbitrarily assigned a unique number that is used to represent the layer name.